This project allows for compilation of aMule in Xcode without macports / fink. THIS IS NOT AN EASY PROCESS, so only attempt it if you're familiar with the terminal, and compiling programs there, as wxWidgets and cryptopp are still compiled via the terminal. I hope to automate this process in the future to eliminate that requirement.

Compiling aMule on Xcode is important to automate the build of different configurations, ensure proper compatibility, and allow developers to use the Xcode interface to gdb which is tremendously useful to track and solve bugs. 

Current configuration supports i386/ppc build on SDK 10.4 (for Tiger), without country flags or UPnP, using wxWidgets 2.8.x. Other configurations will be added later.

It's important for building that the following steps/requirements are met:

1) This folder structure is needed for compilation:
  
  <some folder in your computer>
	|
	|-> aMule sources
	|
	|-> wxWidgets-2.8 (or wxWidgets for 2.9+)
	|
	|-> cryptopp (or cryptopp-64bits if you are using Snow Leopard and plan to use wxWidgets 2.9+ and SDK 10.6)
	
It's essential that the folders are named exactly like shown. If you want to change this, take a look at CFLAGS and link flags in the "aMule" target's properties.

2) wxWidgets has to be compiled with universal binary support and static library. When using wxWidgets 2.8 on Snow Leopard, it's important that gcc-4.0 is used because gcc-4.2 defaults to 64bits builds, which wxWidgets 2.8.x doesn't support (see http://wiki.wxwidgets.org/Development:_wxMac#Building_on_Snow_Leopard_for_Snow_Leopard for more info).

Personally I check out the sources using the following:

svn checkout http://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH wxWidgets-2.8

for wxWidgets 2.8, and

svn checkout http://svn.wxwidgets.org/svn/wx/wxWidgets/ wxWidgets

for wxWidgets 2.9+, and configure with

./configure  CC=gcc-4.0 CXX=g++-4.0 LD=g++-4.0 --enable-debug --with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk --with-macosx-version-min=10.4 --enable-universal_binary --disable-universal --disable-shared 

for wxWidgets 2.8, and

./configure --enable-unicode --disable-shared --enable-debug --enable-debug_gdb --with-osx_cocoa --with-macosx-version-min=10.6

for wxWidgets 2.9+ on Snow Leopard for SDK 10.6.

After that, just type "make" as usual. Do not "make install".

3) Compiling cryptopp is complicated due to lack of proper support for building on MacOSX, especially for universal binaries. First download a cryptopp release from http://www.cryptopp.com/#download (latest are at the bottom) and uncompress it to the folder named "cryptopp" or "cryptopp-64bits" as shown in the folder structure above. If you are using wxWidgets 2.9+, then configure and compile as usual. If using wxWidgets 2.8 in Snow Leopard, edit the file named GNUmake and add the following lines at the beginning:

CXXFLAGS = -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -DNDEBUG -g -O2
LDFLAGS = -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4
CXX=c++-4.0
CC=gcc-4.0

Save the file, then type "make" as usual. Do not "make install".

Once you have finished compiling cryptopp and wxWidgets, and they are in the right folders, this project should compile correctly. If you get errors, please review all the steps before posting in the forum.

Good luck!

- Kry